package com.avergel.metaserver.dto;

import java.util.HashSet;
import java.util.Set;

public class Categoria implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idCategoria;
	private Integer idCategoriaPadre;
	private String nombre;
	private Set<Archivo> archivos= new HashSet<Archivo>(0);

	/**
	 * Instancia un nuevo categoria.
	 */
	public Categoria() {
	}
	
	/**
	 * Instancia un nuevo categoria.
	 *
	 * @param idCategoria id categoria
	 */
	public Categoria(Integer idCategoria){
		this.idCategoria=idCategoria;
	}
	
	/**
	 * Instancia un nuevo categoria.
	 *
	 * @param idCategoriaPadre id categoria padre
	 * @param nombre nombre
	 */
	public Categoria(Integer idCategoriaPadre, String nombre) {
		this.idCategoria = idCategoriaPadre;
		this.nombre = nombre;
	}
	
	/**
	 * Instancia un nuevo categoria.
	 *
	 * @param idCategoriaPadre id categoria padre
	 * @param nombre nombre
	 * @param archivos archivos
	 */
	public Categoria(Integer idCategoriaPadre, String nombre,
			Set<Archivo> archivos) {
		this.idCategoriaPadre = idCategoriaPadre;
		this.nombre = nombre;
		this.archivos = archivos;
	}

	/**
	 * Obtiene id categoria.
	 *
	 * @return id categoria
	 */
	public Integer getIdCategoria() {
		return this.idCategoria;
	}

	/**
	 * Establece id categoria.
	 *
	 * @param idCategoria nuevo id categoria
	 */
	public void setIdCategoria(Integer idCategoria) {
		this.idCategoria = idCategoria;
	}

	/**
	 * Obtiene id categoria padre.
	 *
	 * @return id categoria padre
	 */
	public Integer getIdCategoriaPadre() {
		return this.idCategoriaPadre;
	}

	/**
	 * Establece id categoria padre.
	 *
	 * @param idCategoriaPadre nuevo id categoria padre
	 */
	public void setIdCategoriaPadre(Integer idCategoriaPadre) {
		this.idCategoriaPadre = idCategoriaPadre;
	}

	/**
	 * Obtiene nombre.
	 *
	 * @return nombre
	 */
	public String getNombre() {
		return this.nombre;
	}

	/**
	 * Establece nombre.
	 *
	 * @param nombre nuevo nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Obtiene archivos.
	 *
	 * @return archivos
	 */
	public Set<Archivo> getArchivos() {
		return this.archivos;
	}

	/**
	 * Establece archivos.
	 *
	 * @param archivos nuevo archivos
	 */
	public void setArchivos(Set<Archivo> archivos) {
		this.archivos = archivos;
	}
}
